1. Field of the Invention
An object of the present invention is an electronic circuit, notably an integrated circuit as well as a particular use of this circuit by which a processor can be made to work with a coprocessor. It is more particularly promising in the field of digital signal processors (known as DSPs), one of whose essential features is their processing speed. Digital processors such as these are notably used in transmission to carry out encoding or encryption operations, notably in modems or for audio processing operations.
2. Discussion of the Related Art
There are known digital processors. These comprise a set of circuits that can be used to program a programmable processing circuit, in order to modify data elements as a function of the programmed state of the programming circuit. The modification of the programmed state of the programming circuit is obtained by the application, to this circuit, of digital signals known as instructions. The different circuits of a processor notably comprise instruction registers and data registers in order to set up links with the programmable processing circuit, as well as a sequencer that carries out an organization, in time, of the succession of the application of the different instructions and of the different data elements to the processing circuit. This succession of operations is called a program. Normally, a processor such as this is capable of carrying out any type of operation provided that appropriate instructions are applied to it.
However, a problem arises when certain specific processing operations that are particularly complicated and lengthy have to be carried out speedily. In this case, it is not possible to have recourse to a normally used type of processor: if such a processor is used, the execution of the subsequent instructions will be delayed for an excessively lengthy period related to the complexity of these specific processing operations. For example, it may be assumed that the work of a processor has to be paced at a given rate, each operation lasting one cycle period. It is possible to be faced, during this work, with an operation whose duration is for example fifty times the cycle period.
To carry out, all the same, a lengthier operation of this kind during one cycle or at least at high speed, the technique of coprocessors has been resorted to. Coprocessors are, in practice, specific circuits that are capable of high-speed performance (for example performance within three or four cycles) of operations that would have taken fifty cycles with the normal processor. Putting a coprocessor into operation at the right time nevertheless requires that the processor should configure the coprocessor and hand over the responsibility to this coprocessor by sending it the required data elements. The coprocessor then starts working independently and, as soon as it has finished its work, it informs the processor that the processed data elements are available.
A mode of operation such as this cannot however be envisaged when the operations to be carried out in a single cycle period are not excessively lengthy, for example when they take only five cycle periods. Indeed, if the configuration of the coprocessor requires a duration of five cycles and is then made to perform the work during one cycle, then nothing is gained as compared with what would have been obtained by causing the work to be carried out directly by the processor, which is essentially a slow device.